/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.tesoreria.beans;


import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.model.SelectItem;
import org.cip.esymons.colegiatura.be.Colegiado;
import org.cip.esymons.general.util.ControladorAbstracto;
import org.cip.esymons.tesoreria.bc.EjecutarExoneracionLocal;
import org.cip.esymons.tesoreria.be.CuentaIngreso;
import org.cip.esymons.tesoreria.be.DetPagoAgrupado;
import org.cip.esymons.tesoreria.be.EnumTipoDescuento;

/**
 *
 * @author Administrador
 */
public class ExoneracionController extends ControladorAbstracto {

    @EJB
    EjecutarExoneracionLocal delegado;
    private String dnioNroCip;

    public ExoneracionController() {
    }

    public String nuevo() {
        delegado.init();
        return "nuevo";
    }

    public List<DetPagoAgrupado> getDeudaPorCuentaIngresoMulta() {
        return delegado.getRealizarExoneracionBean().mostrarDeudaMulta();
    }

    public String grabar() {
        delegado.getRealizarExoneracionBean().grabar();
        return "buscar";
    }

    public String cancelar() {
        delegado.getRealizarExoneracionBean().cancelar();
        return "buscar";
    }

    public String buscarSolicitante() {
        delegado.getRealizarExoneracionBean().buscarSolicitante(dnioNroCip);
        return null;
    }

    public List<CuentaIngreso> getListaCuentaIngreso() {
        return delegado.getRealizarExoneracionBean().getListaCuentaIngreso();
    }

    /**
     * @return the dnioNroCip
     */
    public String getDnioNroCip() {
        return dnioNroCip;
    }

    /**
     * @param dnioNroCip the dnioNroCip to set
     */
    public void setDnioNroCip(String dnioNroCip) {
        this.dnioNroCip = dnioNroCip;
    }

    public Date getFechaInicio() {
        return delegado.getRealizarExoneracionBean().getFechaIni();
    }

    public void setFechaInicio(Date fecha) {
        delegado.getRealizarExoneracionBean().setFechaIni(fecha);
    }

    public Date getFechaFin() {
        return delegado.getRealizarExoneracionBean().getFechaFin();
    }

    public void setFechaFin(Date fecha) {
        delegado.getRealizarExoneracionBean().setFechaFin(fecha);
    }

    public Colegiado getSolicitanteSeleccionado() {
        return delegado.getRealizarExoneracionBean().getSolicitanteSeleccionado();
    }

    public void setSolicitanteSeleccionado(Colegiado col) {
        delegado.getRealizarExoneracionBean().setSolicitanteSeleccionado(col);
    }

    public int getTipoBusquedaDNICIP() {
        return delegado.getRealizarExoneracionBean().getTipoBusquedaDNICIP();
    }

    public void setTipoBusquedaDNICIP(int tipoBusquedaDNICIP) {
        delegado.getRealizarExoneracionBean().setTipoBusquedaDNICIP(tipoBusquedaDNICIP);
    }

    public EnumTipoDescuento getTipoExoneracion() {
        return delegado.getRealizarExoneracionBean().getTipoExoneracion();
    }

    /**
     * @param tipoExoneracion the tipoExoneracion to set
     */
    public void setTipoExoneracion(EnumTipoDescuento tipoExoneracion) {
        delegado.getRealizarExoneracionBean().setTipoExoneracion(tipoExoneracion);
    }

    /**
     * @return the descExoneracion
     */
    public String getDescExoneracion() {
        return delegado.getRealizarExoneracionBean().getDescExoneracion();
    }

    /**
     * @param descExoneracion the descExoneracion to set
     */
    public void setDescExoneracion(String descExoneracion) {
        delegado.getRealizarExoneracionBean().setDescExoneracion(descExoneracion);
    }

    public SelectItem[] getListaTipoExoneracionItems() {
        try {
            SelectItem[] select = new SelectItem[EnumTipoDescuento.values().length - 1];
            int cont = 0;
            for (EnumTipoDescuento enumTipoDescuento : EnumTipoDescuento.values()) {
                if (!enumTipoDescuento.equals(EnumTipoDescuento.Ambos)) {
                    SelectItem item = new SelectItem(enumTipoDescuento, enumTipoDescuento.name());
                    select[cont] = item;
                    cont++;
                }
            }
            return select;
        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            SelectItem item = new SelectItem(null, "No existen tipos Exoneracion");
            select[0] = item;
            return select;
        }
    }

    public String busquedaAvanzada() {
        BusquedaPersonasController bpcCB = (BusquedaPersonasController) getBean("busquedaPersonasController");
        bpcCB.setControladorSolicitante(7);
        bpcCB.setDniPerNat(null);
        bpcCB.setApeMatPerNat(null);
        bpcCB.setApePatPerNat(null);
        bpcCB.setDniPerNat(null);
        bpcCB.setNomPerNat(null);
        bpcCB.setRazsocPerJur(null);
        bpcCB.setRucCliente(null);
        bpcCB.setTipoPersonaSeleccionada("NA");
        return "busquedaAvanzada";
    }
}
